package com.fxu.jushuitan.dto.order;

import com.fxu.jushuitan.dto.PageReq;
import lombok.Data;
import lombok.Getter;
import lombok.Setter;

import java.util.List;

/**
 * 订单查询请求[非淘系订单]
 * @author fangxu
 * @since 2023-09-18
 * @version 1.0.0
 **/
@Getter
@Setter
public class OrderQueryReq extends PageReq {

    /**
     * 非必填
     * 店铺编号
     */
    private Integer shopId;

    /**
     * 非必填
     * shop_id为0且is_offline_shop为true查询线下店铺单据
     */
    private Boolean isOfflineShop;

    /**
     * 非必填
     * 线上单号，与时间条件，内部单号不能同时为空，最大限制20条
     */
    private List<String> soIds;

    /**
     * 内部单号（商家维度下订单信息的唯一值），与时间条件，线上单号不能同时为空
     */
    private List<Integer> oIds;

    /**
     * 非必填
     * 待付款：WaitPay；
     * 发货中：Delivering；
     * 被合并：Merged；
     * 异常：Question；
     * 被拆分：Split；
     * 等供销商|外仓发货：WaitOuterSent；
     * 已付款待审核：WaitConfirm；
     * 已客审待财审：WaitFConfirm；
     * 已发货：Sent；
     * 取消：Cancelled
     */
    private String status;

    public OrderQueryReq(Integer pageIndex, String modifiedBegin, String modifiedEnd,
                            Integer shopId, Boolean isOfflineShop, List<String> soIds, String status) {
        super(pageIndex, modifiedBegin, modifiedEnd);
        this.shopId = shopId;
        this.isOfflineShop = isOfflineShop;
        this.soIds = soIds;
        this.status = status;
    }

    public OrderQueryReq(Integer pageIndex, Integer shopId, List<String> soIds, List<Integer> oIds) {
        super(pageIndex, 50);
        this.shopId = shopId;
        this.soIds = soIds;
        this.oIds = oIds;
    }

    /*public OrderQueryReq(Integer pageIndex, Integer shopId, List<Integer> oIds, String status) {
        super(pageIndex, 50);
        this.oIds = oIds;
        this.shopId = shopId;
        this.status = status;
    }*/
}
